﻿using System.Collections.Generic;

namespace Optum.SN.Infra.Core.Cryptography.Test
{
    /// <summary>
    /// Provides mock data for cryptography testing.
    /// </summary>
    public sealed class MockData : CryptoUpdaterList
    {
        /// <summary>
        /// Creates instance with two records with plain text and cipher text in each.
        /// </summary>
        internal MockData()
        {
            AddRange(new List<CryptoUpdater>
            {
                new CryptoUpdater {PlainText = "123-45-6789", CipherText = "AQAAAG92WLi7iNMcPAGf00Db3TJmB9ScRzNDak4OyjIuUVhv"},
                new CryptoUpdater {PlainText = "012-34-5678", CipherText = "AQAAANlfJ7H5Rq0qH95X8y+tfZ15aOoiG+SB4n/YG/1t21kq"}
            });
        }
        /// <summary>
        /// Gets the first mock record.
        /// </summary>
        internal KeyValuePair<string, string> MockRecord
        {
            get
            {
                var model = this[0];
                return new KeyValuePair<string, string>(model.PlainText, model.CipherText);
            }
        }
    }
}